package com.mixsmart.web.controller;

import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.mixsmart.utils.StringUtils;

/**
 * 用户显示页面的通用控制器
 * @author lmq
 * @version 1.0
 * @since JDK版本大于等于1.6
 * 2016年3月7日
 */
@Controller
@RequestMapping("/show/page")
public class ShowPageController extends BaseWebController {

	/**
	 * 显示页面
	 * @param pagePath 页面路径（目录之间用下划线“_”分隔）
	 * @param request 请求对象
	 * @return 返回页面视图
	 */
	@RequestMapping(value="/{pagePath}.do",method=RequestMethod.GET)
	public ModelAndView index(@PathVariable String pagePath,HttpServletRequest request) {
		ModelAndView modelView = new ModelAndView();
		if(StringUtils.isNotEmpty(pagePath)) {
			logger.debug("显示页面，处理前的路径为["+pagePath+"]");
			pagePath = StringUtils.filterFilePath(pagePath);
			pagePath = pagePath.replaceAll("_", "/");
			modelView.setViewName(pagePath);
			HashMap<String,Object> params = super.getRequestParamMap(request);
			if(null != params) {
				params.remove("orgIds");
				modelView.getModelMap().addAllAttributes(params);
			}
			logger.debug("显示页面，处理后的路径为["+pagePath+"]");
		}
		return modelView;
	}
	
}
